const Koa = require("koa");
const cors  =require("koa-cors")
const path = require("path")
const router = require("../router/index");
const { koaBody } = require("koa-body");
const ErrorHandle = require("./errorHandle");
const { koaSwagger } = require("koa2-swagger-ui");

const app = new Koa();



// 添加一个响应头来允许所有源访问
app.use(cors());

app.use(
  koaBody({
    jsonLimit:'20mb',
    formLimit: '200mb',
    textLimit: '200mb',  
    formidable: {
      maxFieldsSize:10 * 1024 *1024,
      uploadDir:path.join(__dirname,"../upload/")
    },
    multipart: true,
  })
);
app.use(
  koaSwagger({
    routePrefix: "/swagger/index.html", // 这里配置swagger的访问路径
    swaggerOptions: {
      url: "/swagger/swagger.json", // 这里配置swagger的文档配置URL，也就是说，我们展示的API都是通过这个接口生成的。
    },
  })
);

app.use(router.routes());
app.use(router.allowedMethods());
app.on("error", ErrorHandle);

module.exports = app;
